EC2におけるフォレンジックの手順書SANS「Digital Forensic Analysis of Amazon Linux EC2 Instances」を読んでみた
こんにちは、AWS事業本部@福岡オフィスのべこみん(@beco_minn)です。
今回はSANSが2018年に公開した 「Digital Forensic Analysis of Amazon Linux EC2 Instances」 という資料を読んでみたので、その内容を簡単にまとめてみました。
資料内で利用されている肝心のフォレンジック用ツールのインストーラーは利用が非推奨となっていますが、AWSにおけるフォレンジックの流れやサイクルについて勉強になる資料です。
概要
Digital Forensic Analysis of Amazon Linux EC2 Instances
はSANSが2018年に公開したEC2インスタンスにおけるフォレンジックの手法について紹介したドキュメントです。
執筆者は Ken Hartman 氏
ドキュメント内に記載されているAbstractは下記の通り。
Companies continue to shift business-critical workloads to cloud services such as Amazon Web Services Elastic Cloud Computing (EC2). With demand for skilled security engineers at an all-time high, many organizations do not have the capability to do an adequate forensic analysis to determine the root cause of an intrusion or to identify indicators of compromise. To help organizations improve their incident response capability, this paper presents specific tactics for the forensic analysis of Amazon Linux that align with the SANS “Finding Malware – Step by Step” process for Microsoft Windows.
(日本語訳)
企業は、ビジネスクリティカルなワークロードをAmazon Web Services Elastic Cloud Computing(EC2)などのクラウドサービスに移行し続けている。熟練したセキュリティエンジニアの需要はかつてないほど高まっていますが、多くの組織では、侵入の根本原因を特定したり、侵害の兆候を特定したりするための適切なフォレンジック分析を行う能力がありません。組織がインシデント対応能力を向上させるために、本稿では、Microsoft Windowsに対するSANSの「Finding Malware – Step by Step」プロセスに沿った、Amazon Linuxのフォレンジックに関する具体的な戦術を紹介します。
※本文Abstractから引用
目次
資料の目次(原題)は下記です。
- Introduction
- Incident Response Resources
- Incident Response Life Cycle Model
- Acquiring Forensic Evidence in EC2
- Provision a Forensic Workstation
- Attaching Evidence to the SIFT Workstation
- Create an EBS Volume from a shared snapshot
- Attach the new volume to the SHIFT Workstation
- Mount the Evidence Volume as Read Only
- Determine the format of the partition and mount
- Prepare the EC2 Memory Image and Profile
- Perform Forensic Analysis
- Evidence Preparation and Data Reduction
- Generate Hash List from AMI
- Identify files which are new or modified
- Recover the unallocated space and sort files
- Carving files from unallocated space
- Determine if keys are present on compromised system
- Perform Anti-Virus Checks
- Determine if any security software is installed
- Scan with ClamAV
- Search for Known Indicators of Compromise
- Identify Evidence of Persistence
- Look for unusual cron jobs
- Look for unusual start-up scripts
- Check for Suspicious Files
- Look in the tmp directory
- Look for unusual files
- Look for files with high entropy
- Examine suspicious files for IOCs
- Review system logs and configuration
- Review the bash history
- Examine local user accounts and groups
- Identify boot history
- Identify past IP addresses
- Look at the yum log
- Look in /var/log/ for relevant logs
- Look at webserver logs
- Perform a timeline analysis
- Make a Filesystem Timeline
- Make a SuperTimeline
- Fix timestamp in syslog records
- Perform Memory Analysis
- Identify rogue processes
- Dump suspicious processes
- Review network artifacts
- Perform Third-party hash lookups
- File Timestamp Anomalies
- Reverse Engineer Malware
- Evidence Preparation and Data Reduction
- Conclusion
- Appendix A - Using AWS_IR
- Appendix B - Contents of the virustotal-results.txt file
各章のタイトルから分かる通り、本資料はインシデント対応についての説明から始まり、証拠の取得〜フォレンジックまでインシデント対応の一連のライフサイクルについて細かく説明されています。「2. Incident Response Resources」に書いてありますが、本資料はAmazon LinuxのEC2インスタンスのフォレンジックイメージを取得した後に何をするべきかのガイダンス資料のようなものとして作成されたようです。
また、具体的なコマンド内容やツールの紹介などがあるため、実際に手を動かしてみたい方にもオススメな内容となっています。
ただし、本資料のメインコンテンツであるフォレンジックパート(上記目次で言うと「5. Provision a Forensic Workstation」以降)で使われているフォレンジック用の仮想マシン「SIFT(SANS Investigative Forensic Toolkit)」のインストーラCLI(SIFT CLI)は2023年3月1日をもって利用が非推奨となっています。後続のツールは公開されていますが、こちらもまだベータ版です。
読んでみて勉強になったこと
ここからは資料の中で紹介されていた資料や考え方、実際にフォレンジックに使用するツールとして紹介されていたツールを記述します。
インシデント対応の前提知識
「2. Incident Response Resources」に記述されていた内容です。
具体的なインシデント対応手順を学習する前に、下記の資料を読んでインシデント対応の前提知識を身に付けることが推奨されていました。
- SANS「Incident Handler's Handbook」(Kral, 2011)
- NIST SP 800-61R2
また、AWSにおけるインシデント対応の前提知識を身に付ける資料としては下記が紹介されていました。
- SANS「Incident Response in Amazon EC2: First Responders Guide to Security Incidents in the Cloud」(Tom Arnold, 2016)
- Black Hat 2016「Hardening AWS Environments and Automating Incident Response for AWS Compromises」(Andrew Krug and Alex McCormack)
- Black Hatというセキュリティカンファレンスで発表されたセッションです。動画もあります。
- 概要: https://www.blackhat.com/us-16/briefings/schedule/#hardening-aws-environments-and-automating-incident-response-for-aws-compromises-3877
- スライド(PDF): https://www.blackhat.com/docs/us-16/materials/us-16-Krug-Hardening-AWS-Environments-And-Automating-Incident-Response-For-AWS-Compromises.pdf
- Youtube: https://www.youtube.com/watch?v=Y9cAHxd0kW4
ライフサイクルモデルについて
「3. Incident Response Life Cycle Model」に記述されていた内容です。
インシデント対応におけるデジタルフォレンジックの役割の重要性を理解するためには、インシデント対応のライフサイクルを考えることが大事だという話です。
伝統的なインシデント対応のプロセスとしては、準備(Prepare)→特定(Identify)→封じ込め(Contain)→根絶(Eradicate)→復旧(Recover)→教訓(Lessons Learned)の6フェーズからなるPICERLが有名ですが、上述のNISTのSP 800-61V2で紹介されているライフサイクルはPICERLとは異なり、反復的な性質を最もよく表現出来ており、この性質が特にパブリッククラウドのような一時的な資産を扱う場合には適しているそうです。
下図がNISTのSP 800-61V2で紹介されていたインシデントレスポンスのライフサイクルです。Detective & Analysis
とContainment Eradication & Recovery
を反復的に行なっているのが特徴的ですね。
引用: NIST SP 800-61R2
証拠を取得するためのツール
「4. Acquiring Forensic Evidence in EC2」に記述されていた内容です。
フォレンジックではインシデント対象の情報を証拠として取得する必要があります。
EC2を対象としたフォレンジックでは、ECSのスナップショットを取得したりインスタンスメモリを取得する必要があるようです。
証拠を取得するツールとしては下記が紹介されていました。
- AWS IR
- インスタンスのエフェメラルデータやスナップショットの取得、アクセスキーの操作などが行えるツール
- https://github.com/ThreatResponse/aws_ir
- 過去に弊社ブログでも記事が書かれていました。
- Margarita Shotgun
- SSHセッションを介して利用するインスタンスメモリをキャプチャするツール
- https://github.com/ThreatResponse/margaritashotgun
フォレンジックに使用するツール
実際のフォレンジックに使用するツールとしてはSIFT(SANS Investigative Forensic Toolkit) Workstationが紹介されていましたが、上述の通り現在SIFT CLIというインストーラーのためのCLIツールは利用が非推奨となっています。
後続のインストーラーツールとしてCastというものが開発されていますが、こちらもまだベータ版のようです。
実際にツールを使用してみたい方は下記リポジトリをご参照ください。下記はSIFT全体のリポジトリで、リポジトリ内からCastなどのリポジトリに飛ぶことが出来ます。
まとめ
5年以上も前の資料ということもあり、資料内で紹介されていた肝心のフォレンジック用ツールは利用が非推奨となっていましたが、フォレンジックの流れやサイクルについては勉強になりました。
実際に手を動かすところまでは出来ていないので、時間を見つけて取り組んでみたいです。
本記事がどなたかのお役に立てれば幸いです。
以上、べこみんでした。